package com.ruoyi.develop.goodsSaledo.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.develop.goodsOrderIn.domain.GoodsOrderIn;
import com.ruoyi.develop.goodsSale.domain.GoodsSale;
import com.ruoyi.develop.lvBuy.domain.LvBuy;
import com.ruoyi.develop.lvDo.domain.LvDo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 请购单（自制/采购/外协）对象 goods_saledo
 *
 * @author qh
 * @date 2024-08-09
 */
public class GoodsSaledo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 请购类型
     */
    @Excel(name = "请购类型")
    private String type;


    /**
     * 工程名称
     */
    @Excel(name = "工程名称")
    private String gongchengName;

    /**
     * 产品id
     */
    @Excel(name = "产品id")
    private String goodsId;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String goodsName;

    /**
     * 产品类别
     */
    @Excel(name = "产品类别")
    private String goodsType;

    /**
     * 产品型号明细
     */
    @Excel(name = "产品型号明细")
    private String goodsBrand;

    /**
     * 产品型号
     */
    @Excel(name = "产品型号")
    private String goodModel;

    /**
     * 销售单价（订单单价）
     */
    @Excel(name = "销售单价", readConverterExp = "订=单单价")
    private BigDecimal goodsUnitPrice;

    /**
     * 锁定数量
     */
    @Excel(name = "锁定数量")
    private BigDecimal lockCount;

    /**
     * 总价（订单总价）
     */
    @Excel(name = "总价", readConverterExp = "订=单总价")
    private BigDecimal goodsTotalPrice;

    /**
     * 成本单价
     */
    @Excel(name = "成本单价")
    private BigDecimal goodsBuyPrice;

    /**
     * 成本金额（总成本价）
     */
    @Excel(name = "成本金额", readConverterExp = "总=成本价")
    private BigDecimal goodsBuyTotal;

    /**
     * 销售利润
     */
    @Excel(name = "销售利润")
    private BigDecimal goodsProfit;

    /**
     * 需求日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "需求日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saleDate;

    /**
     * 供应商
     */
    @Excel(name = "供应商")
    private String supplierId;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 客户
     */
    @Excel(name = "客户")
    private String customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 是否开票
     */
    @Excel(name = "是否开票")
    private String invoice;

    /**
     * 发票id
     */
    @Excel(name = "发票id")
    private String invoiceId;

    /**
     * 发票编号
     */
    @Excel(name = "发票编号")
    private String invoiceNo;

    /**
     * 是否回款
     */
    @Excel(name = "是否回款")
    private String fundCallback;

    /**
     * 是否打印签收单
     */
    @Excel(name = "是否打印签收单")
    private String receipt;

    /**
     * 业务员id
     */
    @Excel(name = "业务员id")
    private String salesmanId;

    /**
     * 业务员姓名
     */
    @Excel(name = "业务员姓名")
    private String salesmanName;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String projectId;

    /**
     * 订单名称
     */
    @Excel(name = "订单名称")
    private String projectName;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 部门ID
     */
    @Excel(name = "部门ID")
    private String deptId;

    /**
     * 部门名称
     */
    @Excel(name = "部门名称")
    private String deptName;

    /**
     * 订单数量
     */
    @Excel(name = "订单数量")
    private BigDecimal orderCount;

    /**
     * 库存数量
     */
    @Excel(name = "库存数量")
    private BigDecimal stockCount;

    /**
     * 请购数量
     */
    @Excel(name = "请购数量")
    private BigDecimal pleaseBuyCount;


    /**
     * 请购申请数量
     */
    @Excel(name = "请购申请数量")
    private BigDecimal pleaseBuyApplyCount;


    /** * 采购数量 */
    private BigDecimal buyCount;

    /** * 采购剩余 */
    private BigDecimal buyRemain;


    /**
     * 是否需要采购
     */
    private String isBuy;

    /**
     * 是否发货
     */
    @Excel(name = "是否发货")
    private String isfahuo;

    /**
     * 发货时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fahuoDate;

    /**
     * 回款时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "回款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date huikuanDate;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date ddDate;
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date subDate;
    /**
     * 产品编码
     */
    @Excel(name = "产品编码")
    private String goodsCode;

    /**
     * 吨位
     */
    @Excel(name = "吨位")
    private BigDecimal dun;

    /**
     * 单据号
     */
    @Excel(name = "单据号")
    private String nos;

    /**
     * 是否自制(1:自制; 2:请购)
     */
    @Excel(name = "是否自制(1:自制; 2:请购)")
    private String isdo;

    private String unit;
    /**
     * 请购单id
     */
    @Excel(name = "请购单id")
    private String mainId;

    /**
     * 订单产品id
     */
    private String goodsSaleId;

    /**
     * 铁件拆解id
     */
    private String ironRecordId;
    private List<GoodsSaledo> columns;
    private List<GoodsOrderIn> columnsDo;
    private List<GoodsSale> goodsSaleList;
    private String projectNo;

    private String daohuono;
    private String daohuoId;
    private String caigouId;
    private String caigouno;
    private String rukuId;
    private String rukuno;
    @Excel(name = "回款时间", width = 30, dateFormat = "yyyy-MM-dd")

    private Date rukudate;

    @Excel(name = "巡检日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date xunjiandate;
    private String xunjianfile;
    private String information;
    private BigDecimal remainderCount;

    @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderDate;

    private String doId;
    private String saleId;
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date deliveryTime;
    private String isdoDict;

    private String source;
    private String idx;
    private String createTimeStr;
    private String saleDateStr;

    private String goodsUnitPriceStr;
    private String orderCountStr;
    private String goodsBuyPriceStr;
    private String goodsTaxUnitPrice;

    private String dunStr;

    private String goodsBuyTotalStr;

    private String goodssalebuyallId;
    private String goodssalebuyId;

    private String addGoodsType;
    private String prodstatus;
    private String saleStatus;
    private String lvdostatus;

    public String getLvdostatus() {
        return lvdostatus;
    }

    public void setLvdostatus(String lvdostatus) {
        this.lvdostatus = lvdostatus;
    }

    public String getSaleStatus() {
        return saleStatus;
    }

    public void setSaleStatus(String saleStatus) {
        this.saleStatus = saleStatus;
    }



    public String getProdstatus() {
        return prodstatus;
    }

    public void setProdstatus(String prodstatus) {
        this.prodstatus = prodstatus;
    }

    public String getAddGoodsType() {
        return addGoodsType;
    }

    public void setAddGoodsType(String addGoodsType) {
        this.addGoodsType = addGoodsType;
    }

    private Integer sort;

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getGoodssalebuyallId() {
        return goodssalebuyallId;
    }

    public void setGoodssalebuyallId(String goodssalebuyallId) {
        this.goodssalebuyallId = goodssalebuyallId;
    }

    public String getGoodssalebuyId() {
        return goodssalebuyId;
    }

    public void setGoodssalebuyId(String goodssalebuyId) {
        this.goodssalebuyId = goodssalebuyId;
    }

    public String getGoodsBuyTotalStr() {
        return goodsBuyTotalStr;
    }

    public void setGoodsBuyTotalStr(String goodsBuyTotalStr) {
        this.goodsBuyTotalStr = goodsBuyTotalStr;
    }

    public String getDunStr() {
        return dunStr;
    }

    public void setDunStr(String dunStr) {
        this.dunStr = dunStr;
    }

    public List<GoodsSale> getGoodsSaleList() {
        return goodsSaleList;
    }

    public void setGoodsSaleList(List<GoodsSale> goodsSaleList) {
        this.goodsSaleList = goodsSaleList;
    }

    public String getGoodsTaxUnitPrice() {
        return goodsTaxUnitPrice;
    }

    public void setGoodsTaxUnitPrice(String goodsTaxUnitPrice) {
        this.goodsTaxUnitPrice = goodsTaxUnitPrice;
    }

    public String getGoodsUnitPriceStr() {
        return goodsUnitPriceStr;
    }

    public void setGoodsUnitPriceStr(String goodsUnitPriceStr) {
        this.goodsUnitPriceStr = goodsUnitPriceStr;
    }

    public String getOrderCountStr() {
        return orderCountStr;
    }

    public void setOrderCountStr(String orderCountStr) {
        this.orderCountStr = orderCountStr;
    }

    public String getGoodsBuyPriceStr() {
        return goodsBuyPriceStr;
    }

    public void setGoodsBuyPriceStr(String goodsBuyPriceStr) {
        this.goodsBuyPriceStr = goodsBuyPriceStr;
    }

    public String getIdx() {
        return idx;
    }

    public void setIdx(String idx) {
        this.idx = idx;
    }

    public String getCreateTimeStr() {
        return createTimeStr;
    }

    public void setCreateTimeStr(String createTimeStr) {
        this.createTimeStr = createTimeStr;
    }

    public String getSaleDateStr() {
        return saleDateStr;
    }

    public void setSaleDateStr(String saleDateStr) {
        this.saleDateStr = saleDateStr;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getIsdoDict() {
        return isdoDict;
    }

    public void setIsdoDict(String isdoDict) {
        this.isdoDict = isdoDict;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public String getSaleId() {
        return saleId;
    }

    public void setSaleId(String saleId) {
        this.saleId = saleId;
    }

    public String getDoId() {
        return doId;
    }

    public void setDoId(String doId) {
        this.doId = doId;
    }

    public Date getDdDate() {
        return ddDate;
    }

    public void setDdDate(Date ddDate) {
        this.ddDate = ddDate;
    }

    public Date getSubDate() {
        return subDate;
    }

    public void setSubDate(Date subDate) {
        this.subDate = subDate;
    }

    private LvDo lvDo;

    public LvDo getLvDo() {
        return lvDo;
    }

    public void setLvDo(LvDo lvDo) {
        this.lvDo = lvDo;
    }

    public String getGoodsSaleId() {
        return goodsSaleId;
    }

    public void setGoodsSaleId(String goodsSaleId) {
        this.goodsSaleId = goodsSaleId;
    }

    public BigDecimal getRemainderCount() {
        return remainderCount;
    }

    public void setRemainderCount(BigDecimal remainderCount) {
        this.remainderCount = remainderCount;
    }

    public Date getXunjiandate() {
        return xunjiandate;
    }

    public void setXunjiandate(Date xunjiandate) {
        this.xunjiandate = xunjiandate;
    }

    public String getXunjianfile() {
        return xunjianfile;
    }

    public void setXunjianfile(String xunjianfile) {
        this.xunjianfile = xunjianfile;
    }

    public String getInformation() {
        return information;
    }

    public void setInformation(String information) {
        this.information = information;
    }

    public String getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    public Date getRukudate() {
        return rukudate;
    }

    public void setRukudate(Date rukudate) {
        this.rukudate = rukudate;
    }

    public String getDaohuono() {
        return daohuono;
    }

    public void setDaohuono(String daohuono) {
        this.daohuono = daohuono;
    }

    public String getDaohuoId() {
        return daohuoId;
    }

    public void setDaohuoId(String daohuoId) {
        this.daohuoId = daohuoId;
    }

    public String getCaigouId() {
        return caigouId;
    }

    public void setCaigouId(String caigouId) {
        this.caigouId = caigouId;
    }

    public String getCaigouno() {
        return caigouno;
    }

    public void setCaigouno(String caigouno) {
        this.caigouno = caigouno;
    }

    public String getRukuId() {
        return rukuId;
    }

    public void setRukuId(String rukuId) {
        this.rukuId = rukuId;
    }

    public String getRukuno() {
        return rukuno;
    }

    public void setRukuno(String rukuno) {
        this.rukuno = rukuno;
    }

    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    public List<GoodsOrderIn> getColumnsDo() {
        return columnsDo;
    }

    public void setColumnsDo(List<GoodsOrderIn> columnsDo) {
        this.columnsDo = columnsDo;
    }

    private String proStatus;

    public String getProStatus() {
        return proStatus;
    }

    public void setProStatus(String proStatus) {
        this.proStatus = proStatus;
    }

    public List<GoodsSaledo> getColumns() {
        return columns;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public void setColumns(List<GoodsSaledo> columns) {
        this.columns = columns;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsBrand(String goodsBrand) {
        this.goodsBrand = goodsBrand;
    }

    public String getGoodsBrand() {
        return goodsBrand;
    }

    public void setGoodModel(String goodModel) {
        this.goodModel = goodModel;
    }

    public String getGoodModel() {
        return goodModel;
    }

    public void setGoodsUnitPrice(BigDecimal goodsUnitPrice) {
        this.goodsUnitPrice = goodsUnitPrice;
    }

    public BigDecimal getGoodsUnitPrice() {
        return goodsUnitPrice;
    }

    public void setGoodsTotalPrice(BigDecimal goodsTotalPrice) {
        this.goodsTotalPrice = goodsTotalPrice;
    }

    public BigDecimal getGoodsTotalPrice() {
        return goodsTotalPrice;
    }

    public void setGoodsBuyPrice(BigDecimal goodsBuyPrice) {
        this.goodsBuyPrice = goodsBuyPrice;
    }

    public BigDecimal getGoodsBuyPrice() {
        return goodsBuyPrice;
    }

    public void setGoodsBuyTotal(BigDecimal goodsBuyTotal) {
        this.goodsBuyTotal = goodsBuyTotal;
    }

    public BigDecimal getGoodsBuyTotal() {
        return goodsBuyTotal;
    }

    public void setGoodsProfit(BigDecimal goodsProfit) {
        this.goodsProfit = goodsProfit;
    }

    public BigDecimal getGoodsProfit() {
        return goodsProfit;
    }

    public void setSaleDate(Date saleDate) {
        this.saleDate = saleDate;
    }

    public Date getSaleDate() {
        return saleDate;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getGongchengName() {
        return gongchengName;
    }

    public void setGongchengName(String gongchengName) {
        this.gongchengName = gongchengName;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setInvoice(String invoice) {
        this.invoice = invoice;
    }

    public String getInvoice() {
        return invoice;
    }

    public void setInvoiceId(String invoiceId) {
        this.invoiceId = invoiceId;
    }

    public String getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setFundCallback(String fundCallback) {
        this.fundCallback = fundCallback;
    }

    public String getFundCallback() {
        return fundCallback;
    }

    public void setReceipt(String receipt) {
        this.receipt = receipt;
    }

    public String getReceipt() {
        return receipt;
    }

    public String getSalesmanId() {
        return salesmanId;
    }

    public void setSalesmanId(String salesmanId) {
        this.salesmanId = salesmanId;
    }

    public String getSalesmanName() {
        return salesmanName;
    }

    public void setSalesmanName(String salesmanName) {
        this.salesmanName = salesmanName;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setIsfahuo(String isfahuo) {
        this.isfahuo = isfahuo;
    }

    public String getIsfahuo() {
        return isfahuo;
    }

    public void setFahuoDate(Date fahuoDate) {
        this.fahuoDate = fahuoDate;
    }

    public Date getFahuoDate() {
        return fahuoDate;
    }

    public void setHuikuanDate(Date huikuanDate) {
        this.huikuanDate = huikuanDate;
    }

    public Date getHuikuanDate() {
        return huikuanDate;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public void setDun(BigDecimal dun) {
        this.dun = dun;
    }

    public BigDecimal getDun() {
        return dun;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getNos() {
        return nos;
    }

    public void setIsdo(String isdo) {
        this.isdo = isdo;
    }

    public String getIsdo() {
        return isdo;
    }

    public void setMainId(String mainId) {
        this.mainId = mainId;
    }

    public String getMainId() {
        return mainId;
    }

    public BigDecimal getLockCount() {
        return lockCount;
    }

    public void setLockCount(BigDecimal lockCount) {
        this.lockCount = lockCount;
    }

    public BigDecimal getOrderCount() {
        return orderCount;
    }

    public void setOrderCount(BigDecimal orderCount) {
        this.orderCount = orderCount;
    }

    public BigDecimal getStockCount() {
        return stockCount;
    }

    public void setStockCount(BigDecimal stockCount) {
        this.stockCount = stockCount;
    }

    public BigDecimal getPleaseBuyCount() {
        return pleaseBuyCount;
    }

    public void setPleaseBuyCount(BigDecimal pleaseBuyCount) {
        this.pleaseBuyCount = pleaseBuyCount;
    }

    public String getIsBuy() {
        return isBuy;
    }

    public void setIsBuy(String isBuy) {
        this.isBuy = isBuy;
    }

    public String getIronRecordId() {
        return ironRecordId;
    }

    public void setIronRecordId(String ironRecordId) {
        this.ironRecordId = ironRecordId;
    }

    public BigDecimal getPleaseBuyApplyCount() {
        return pleaseBuyApplyCount;
    }

    public void setPleaseBuyApplyCount(BigDecimal pleaseBuyApplyCount) {
        this.pleaseBuyApplyCount = pleaseBuyApplyCount;
    }

    public BigDecimal getBuyCount() {
        return buyCount;
    }

    public void setBuyCount(BigDecimal buyCount) {
        this.buyCount = buyCount;
    }

    public BigDecimal getBuyRemain() {
        return buyRemain;
    }

    public void setBuyRemain(BigDecimal buyRemain) {
        this.buyRemain = buyRemain;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("type", getType())
                .append("goodsId", getGoodsId())
                .append("goodsName", getGoodsName())
                .append("goodsBrand", getGoodsBrand())
                .append("goodModel", getGoodModel())
                .append("goodsUnitPrice", getGoodsUnitPrice())
                .append("goodsTotalPrice", getGoodsTotalPrice())
                .append("goodsBuyPrice", getGoodsBuyPrice())
                .append("goodsBuyTotal", getGoodsBuyTotal())
                .append("goodsProfit", getGoodsProfit())
                .append("saleDate", getSaleDate())
                .append("supplierId", getSupplierId())
                .append("supplierName", getSupplierName())
                .append("customerId", getCustomerId())
                .append("customerName", getCustomerName())
                .append("invoice", getInvoice())
                .append("invoiceId", getInvoiceId())
                .append("invoiceNo", getInvoiceNo())
                .append("fundCallback", getFundCallback())
                .append("receipt", getReceipt())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("projectId", getProjectId())
                .append("projectName", getProjectName())
                .append("status", getStatus())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("isfahuo", getIsfahuo())
                .append("fahuoDate", getFahuoDate())
                .append("huikuanDate", getHuikuanDate())
                .append("dun", getDun())
                .append("nos", getNos())
                .append("isdo", getIsdo())
                .append("mainId", getMainId())
                .toString();
    }
}
